package algo.math.evaluator.context.functions.interfaces;

import algo.math.evaluator.value.IValue;

/**
 * Represent a function.
 */
public interface IFunction {

	/**
	 * Gets the name of the function.
	 *
	 */
	public String getName();
	
	/**
	 * Gets the number of arguments.
	 *
	 */
	public int getArgsNumber();
	
	/**
	 * Resolve the function.
	 *
	 */
	public abstract IValue resolve(IValue[] args);
}
